package com.linkhub.oms.admin.modules.stock.domain.param;

import com.linkhub.oms.admin.common.enums.StockSortFieldEnum;
import com.linkhub.oms.admin.modules.user.domain.param.BasePageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName OutStockQueryParam
 * @Description TODO
 * @Author XieYu
 * @Date 2024/7/1 23:31
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "OutStockQueryParam", description = "缺货列表查询参数对象")
public class OutStockQueryParam extends BasePageParam implements Serializable {
    @ApiModelProperty(value = "sku")
    private String sku;

    @ApiModelProperty(value = "产品名称")
    private String productEnTitle;

    @ApiModelProperty(value = "spu")
    private String spu;

    @ApiModelProperty(value = "商家用户Ids，只有员工页面才传该参数")
    private List<String> merchantUserIds;

    /**
     * @see StockSortFieldEnum
     */
    @ApiModelProperty(value = "排序表头: Fphysical_stock: 实物库存; Fpreemption_stock: 预占库存; Ffrozen_stock: 冻结库存; Fpassage_stock: 在途库存;")
    private String sortField;

    @ApiModelProperty(value = "排序方式: descend: 降序; ascend: 升序; null;")
    private String sortMode;


    // ================= 非前端传值 =============
    @ApiModelProperty(value = "是否客户角色", hidden = true)
    private boolean customerRole;
}
